library(ggplot2)
library(plotly)

Upregulators


dt = read.csv("Suplementary Tables/Supplementary Table 2_Whole Genome Pooled Screening Results.csv", sep = " ")
dt$pos_sig = ifelse(dt$pos.fdr..l. < 0.05, "Significant","Non-significant")

ggplot(data = dt, aes(x = pos.rank..m., y = -pos.score..j., color = pos_sig)) +
  geom_point() + theme_classic() + 
  scale_color_manual(values=c("#939598","#E01E27" ))+
  theme(axis.text.x=element_blank(),
        axis.ticks.x=element_blank()) +
  xlab("RRA rank") + ylab("RRA enrichment score")
ggsave("upregulators.pdf", width = 8, height = 5)


p = plot_ly(data = dt, x = dt$pos.rank..m., y = -dt$pos.score..j., 
            color = dt$pos_sig,
            colors = c("#939598","#E01E27" ),
            type = 'scatter',
        text = paste("Gene: ", dt$Genes..b.)) %>%
  layout(xaxis = list(title = "RRA rank",
                      zerolinecolor = '#ffff',
                      zerolinewidth = 2,
                      gridcolor = 'ffff',
                      showticklabels = FALSE),
         yaxis = list(title = 'RRA enrichment score',
                      zerolinecolor = '#ffff',
                      zerolinewidth = 2,
                      gridcolor = 'ffff'),
         plot_bgcolor='white')
p
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
htmlwidgets::saveWidget(as_widget(p), "upregulators.html")
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
[WARNING] Deprecated: --self-contained. use --embed-resources --standalone

Downregulators


dt = read.csv("Suplementary Tables/Supplementary Table 2_Whole Genome Pooled Screening Results.csv", sep = " ")
dt$neg_sig = ifelse(dt$neg.fdr..f. < 0.05, "Significant","Non-significant")

ggplot(data = dt, aes(x = neg.rank..g., y = -neg.score..d., color = neg_sig)) +
  geom_point() + theme_classic() + 
  scale_color_manual(values=c("#939598","#E01E27" ))+
  theme(axis.text.x=element_blank(),
        axis.ticks.x=element_blank()) +
  xlab("RRA rank") + ylab("RRA enrichment score")
ggsave("downregulators.pdf", width = 8, height = 5)



p = plot_ly(data = dt, x = dt$neg.rank..g., y = -dt$neg.score..d., 
            color = dt$neg_sig,
            colors = c("#939598","#E01E27" ),
            type = 'scatter',
        text = paste("Gene: ", dt$Genes..b.)) %>%
  layout(xaxis = list(title = "RRA rank",
                      zerolinecolor = '#ffff',
                      zerolinewidth = 2,
                      gridcolor = 'ffff',
                      showticklabels = FALSE),
         yaxis = list(title = 'RRA enrichment score',
                      zerolinecolor = '#ffff',
                      zerolinewidth = 2,
                      gridcolor = 'ffff'),
         plot_bgcolor='white')
p
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
htmlwidgets::saveWidget(as_widget(p), "downregulators.html")
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
[WARNING] Deprecated: --self-contained. use --embed-resources --standalone
LS0tCnRpdGxlOiAiSW50ZXJhY3RpdmUgcGxvdCBmb3IgdGhlIHdob2xlIGdlbm9tZSBzY3JlZW4gZm9yIE1FUkNTIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7cn0KbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KHBsb3RseSkKYGBgCgpVcHJlZ3VsYXRvcnMKCmBgYHtyfQoKZHQgPSByZWFkLmNzdigiU3VwbGVtZW50YXJ5IFRhYmxlcy9TdXBwbGVtZW50YXJ5IFRhYmxlIDJfV2hvbGUgR2Vub21lIFBvb2xlZCBTY3JlZW5pbmcgUmVzdWx0cy5jc3YiLCBzZXAgPSAiICIpCmR0JHBvc19zaWcgPSBpZmVsc2UoZHQkcG9zLmZkci4ubC4gPCAwLjA1LCAiU2lnbmlmaWNhbnQiLCJOb24tc2lnbmlmaWNhbnQiKQoKZ2dwbG90KGRhdGEgPSBkdCwgYWVzKHggPSBwb3MucmFuay4ubS4sIHkgPSAtcG9zLnNjb3JlLi5qLiwgY29sb3IgPSBwb3Nfc2lnKSkgKwogIGdlb21fcG9pbnQoKSArIHRoZW1lX2NsYXNzaWMoKSArIAogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygiIzkzOTU5OCIsIiNFMDFFMjciICkpKwogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfYmxhbmsoKSwKICAgICAgICBheGlzLnRpY2tzLng9ZWxlbWVudF9ibGFuaygpKSArCiAgeGxhYigiUlJBIHJhbmsiKSArIHlsYWIoIlJSQSBlbnJpY2htZW50IHNjb3JlIikKZ2dzYXZlKCJ1cHJlZ3VsYXRvcnMucGRmIiwgd2lkdGggPSA4LCBoZWlnaHQgPSA1KQoKcCA9IHBsb3RfbHkoZGF0YSA9IGR0LCB4ID0gZHQkcG9zLnJhbmsuLm0uLCB5ID0gLWR0JHBvcy5zY29yZS4uai4sIAogICAgICAgICAgICBjb2xvciA9IGR0JHBvc19zaWcsCiAgICAgICAgICAgIGNvbG9ycyA9IGMoIiM5Mzk1OTgiLCIjRTAxRTI3IiApLAogICAgICAgICAgICB0eXBlID0gJ3NjYXR0ZXInLAogICAgICAgIHRleHQgPSBwYXN0ZSgiR2VuZTogIiwgZHQkR2VuZXMuLmIuKSkgJT4lCiAgbGF5b3V0KHhheGlzID0gbGlzdCh0aXRsZSA9ICJSUkEgcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICB6ZXJvbGluZWNvbG9yID0gJyNmZmZmJywKICAgICAgICAgICAgICAgICAgICAgIHplcm9saW5ld2lkdGggPSAyLAogICAgICAgICAgICAgICAgICAgICAgZ3JpZGNvbG9yID0gJ2ZmZmYnLAogICAgICAgICAgICAgICAgICAgICAgc2hvd3RpY2tsYWJlbHMgPSBGQUxTRSksCiAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICdSUkEgZW5yaWNobWVudCBzY29yZScsCiAgICAgICAgICAgICAgICAgICAgICB6ZXJvbGluZWNvbG9yID0gJyNmZmZmJywKICAgICAgICAgICAgICAgICAgICAgIHplcm9saW5ld2lkdGggPSAyLAogICAgICAgICAgICAgICAgICAgICAgZ3JpZGNvbG9yID0gJ2ZmZmYnKSwKICAgICAgICAgcGxvdF9iZ2NvbG9yPSd3aGl0ZScpCnAKCmh0bWx3aWRnZXRzOjpzYXZlV2lkZ2V0KGFzX3dpZGdldChwKSwgInVwcmVndWxhdG9ycy5odG1sIikKCmBgYAoKRG93bnJlZ3VsYXRvcnMKCmBgYHtyfQoKZHQgPSByZWFkLmNzdigiU3VwbGVtZW50YXJ5IFRhYmxlcy9TdXBwbGVtZW50YXJ5IFRhYmxlIDJfV2hvbGUgR2Vub21lIFBvb2xlZCBTY3JlZW5pbmcgUmVzdWx0cy5jc3YiLCBzZXAgPSAiICIpCmR0JG5lZ19zaWcgPSBpZmVsc2UoZHQkbmVnLmZkci4uZi4gPCAwLjA1LCAiU2lnbmlmaWNhbnQiLCJOb24tc2lnbmlmaWNhbnQiKQoKZ2dwbG90KGRhdGEgPSBkdCwgYWVzKHggPSBuZWcucmFuay4uZy4sIHkgPSAtbmVnLnNjb3JlLi5kLiwgY29sb3IgPSBuZWdfc2lnKSkgKwogIGdlb21fcG9pbnQoKSArIHRoZW1lX2NsYXNzaWMoKSArIAogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygiIzkzOTU5OCIsIiNFMDFFMjciICkpKwogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfYmxhbmsoKSwKICAgICAgICBheGlzLnRpY2tzLng9ZWxlbWVudF9ibGFuaygpKSArCiAgeGxhYigiUlJBIHJhbmsiKSArIHlsYWIoIlJSQSBlbnJpY2htZW50IHNjb3JlIikKZ2dzYXZlKCJkb3ducmVndWxhdG9ycy5wZGYiLCB3aWR0aCA9IDgsIGhlaWdodCA9IDUpCgoKcCA9IHBsb3RfbHkoZGF0YSA9IGR0LCB4ID0gZHQkbmVnLnJhbmsuLmcuLCB5ID0gLWR0JG5lZy5zY29yZS4uZC4sIAogICAgICAgICAgICBjb2xvciA9IGR0JG5lZ19zaWcsCiAgICAgICAgICAgIGNvbG9ycyA9IGMoIiM5Mzk1OTgiLCIjRTAxRTI3IiApLAogICAgICAgICAgICB0eXBlID0gJ3NjYXR0ZXInLAogICAgICAgIHRleHQgPSBwYXN0ZSgiR2VuZTogIiwgZHQkR2VuZXMuLmIuKSkgJT4lCiAgbGF5b3V0KHhheGlzID0gbGlzdCh0aXRsZSA9ICJSUkEgcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICB6ZXJvbGluZWNvbG9yID0gJyNmZmZmJywKICAgICAgICAgICAgICAgICAgICAgIHplcm9saW5ld2lkdGggPSAyLAogICAgICAgICAgICAgICAgICAgICAgZ3JpZGNvbG9yID0gJ2ZmZmYnLAogICAgICAgICAgICAgICAgICAgICAgc2hvd3RpY2tsYWJlbHMgPSBGQUxTRSksCiAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICdSUkEgZW5yaWNobWVudCBzY29yZScsCiAgICAgICAgICAgICAgICAgICAgICB6ZXJvbGluZWNvbG9yID0gJyNmZmZmJywKICAgICAgICAgICAgICAgICAgICAgIHplcm9saW5ld2lkdGggPSAyLAogICAgICAgICAgICAgICAgICAgICAgZ3JpZGNvbG9yID0gJ2ZmZmYnKSwKICAgICAgICAgcGxvdF9iZ2NvbG9yPSd3aGl0ZScpCnAKCmh0bWx3aWRnZXRzOjpzYXZlV2lkZ2V0KGFzX3dpZGdldChwKSwgImRvd25yZWd1bGF0b3JzLmh0bWwiKQoKYGBgCg==